package com.heima.wemedia.listen;

import com.heima.common.constants.message.NewsAutoScanConstants;
import com.heima.wemedia.service.WmNewsAutoScanService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.annotation.Queue;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;

/**
 * @Author XHui
 * @Since 2024/2/14 19:38
 * @Version 1.0
 */
@Component
@Slf4j
public class WmmediaNewsAutoListener {

    @Resource
    private WmNewsAutoScanService wmNewsAutoScanService;

    /**
     * @param newsId 文章ID 之所以是String，是因为消息体是json字符串
     * queues: 监听队列，不会自动创建该队列
     * queueToDeclare 监听队列，若该队列不存在，自动创建该队列
     * bindings 监听队列，可以创建 交换机 队列 绑定关系
     */
    @RabbitListener(queuesToDeclare = @Queue(NewsAutoScanConstants.WM_NEWS_AUTO_SCAN_QUEUE))
    public void handleAutoScanMsg(String newsId){
        log.info("接受到自动审核消息 in rabbitmq：文章ID {} 自动审核开始", newsId);
        wmNewsAutoScanService.autoScanWmNews(Integer.valueOf(newsId));
        log.info("接受到自动审核消息 in rabbitmq：文章ID {} 自动审核结束", newsId);
    }
}
